package com.woniuxy.service;

import com.woniuxy.entity.Camp;
import com.woniuxy.entity.Food;
import com.woniuxy.vo.CampVO;
import com.woniuxy.vo.FoodCommentlVO;
import com.woniuxy.vo.FoodOrderVO;
import com.woniuxy.vo.FoodVO;

import java.util.List;
import java.util.Map;

/**
 * @author Hgx
 * @ClassName FoodService
 * @create 2020-06-02 11:48
 */
public interface FoodService {
    /**
     * 美食条件分页查询
     * @param map
     * @return
     */
    List<FoodVO> pageSelectFoodByExample(Map<String, Object> map)throws Exception;

    /**
     *  美食统计总条数
     * @param map
     * @return
     */
    int countFoodByExample(Map<String, Object> map)throws Exception;

    /**
     * 美食管理的菜品的信息的更新
     * @param food
     * @return
     */
    int updateFood(Food food)throws Exception;

    /**
     * 美食管理的菜品的信息的删除
     * @param foodId
     * @return
     */
    int deleteFood(Integer foodId)throws Exception;

    /**
     *美食订单条件分页查询
     * @param map
     * @return
     */
    List<FoodOrderVO> selectFoodOrderByExample(Map<String, Object> map)throws Exception;

    /**
     *美食订单统计总条数
     * @param map
     * @return
     */
    int countFoodOrder(Map<String, Object> map)throws Exception;

    /**
     * 添加美食返回主键
     * @param food
     * @return
     */
    int insertFoodReturnFoodId(Food food)throws Exception;

    /**
     * 在数据库中新增图片地址
     * @param foodId
     * @param url
     * @return
     */
    int insertFoodImg(int foodId, String url)throws Exception;

    /**
     * 在新增美食中通过选择城市选择营地
     * @param cityId
     * @return
     */
    List<Camp> selectCampByCityName(int cityId);

    /**
     *
     * @param res
     * @return
     */
    int insertFoodAddress(int res,int campId);

    /**
     *  ele
     * 查询所有美食的评论
     * @return
     */
    List<FoodCommentlVO> selectAllFoodCommentlVO();

    /**
     * 评论的初始查询
     * @param map
     * @return
     */
    List<FoodCommentlVO> selectFoodCommentByExample(Map<String, Object> map);

    /**
     * 评论的初始查询统计
     * @param map
     * @return
     */
    int countFoodCommentByExample(Map<String, Object> map);
}
